package net.neiquan.applibrary.utils;

import java.math.BigDecimal;

/**
 * Created by Administrator on 2017/12/22 0022.
 */

public class NumberUtils {

    //value 被除数  scale保留几位小鼠  one除以多少
    public static String roundInt(int value) {
        if (value < 10000) {
            return value + "";
        }
        BigDecimal b = 0 == value ? new BigDecimal("0") : new BigDecimal(Integer.toString(value));
        BigDecimal one = new BigDecimal("10000");
        return b.divide(one, 2, BigDecimal.ROUND_HALF_UP).doubleValue() + "万";
    }

//    public static String roundInt1(int value) {
//        if (value < 10000) {
//            return value + "";
//        }
//        BigDecimal b = 0 == value ? new BigDecimal("0") : new BigDecimal(Integer.toString(value));
//        BigDecimal one = new BigDecimal("10000");
//        return b.divide(one, 1, BigDecimal.ROUND_HALF_UP).doubleValue() + "万";
//    }

    //value 被除数  scale保留几位小鼠  one除以多少
    public static String rounDouble(double value) {
        if (value < 10000) {
            return value + "";
        }
        BigDecimal b = 0 == value ? new BigDecimal("0.00") : new BigDecimal(Double.toString(value));
        BigDecimal one = new BigDecimal("10000");
        return b.divide(one, 2, BigDecimal.ROUND_HALF_UP).doubleValue() + "万";
    }

    //value1 被除数  scale保留几位小鼠  one除以多少
    public static String roundPercent(long value1, long value2) {
        if (value1 <= 0 || value2 <= 0) {
            return "0.0%";
        }
        BigDecimal b = 0 == value1 ? new BigDecimal("0.00") : new BigDecimal(Double.toString(value1));
        BigDecimal one = new BigDecimal("" + value2);
        return b.divide(one, 2, BigDecimal.ROUND_HALF_UP).doubleValue() * 100 + "%";
    }

    //value 被除数  scale保留几位小鼠  one除以多少
    public static String roundInt_(int value) {
        if (value < 1024 * 1024) {
            BigDecimal b = 0 == value ? new BigDecimal("0") : new BigDecimal(Integer.toString(value));
            BigDecimal one = new BigDecimal(1024 + "");
            return b.divide(one, 2, BigDecimal.ROUND_HALF_UP).doubleValue() + "KB";
        }
        if (value < 1024) {
            return value + "B";
        }
        BigDecimal b = 0 == value ? new BigDecimal("0") : new BigDecimal(Integer.toString(value));
        BigDecimal one = new BigDecimal(1024 * 1024 + "");
        return b.divide(one, 2, BigDecimal.ROUND_HALF_UP).doubleValue() + "M";
    }
}
